// 读取codes/details 下的所有json文件，将其内容合并到一起输出一个list到list.json文件中
import * as fs from 'fs';
import * as path from 'path';
import { fileURLToPath } from 'url';

// 获取当前文件的目录
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

const inputDirectory = path.join(__dirname, 'details');
const outputFilePath = path.join(__dirname, 'list.json');

async function mergeJsonFiles() {
  try {
    // 读取目录中的所有文件
    const files = fs.readdirSync(inputDirectory);
    const jsonList = [];

    // 遍历每个文件
    for (const file of files) {
      // 检查文件扩展名是否为 .json
      if (path.extname(file) === '.json') {
        const filePath = path.join(inputDirectory, file);

        // 读取 JSON 文件内容
        const data = fs.readFileSync(filePath, 'utf-8');

        // 解析 JSON 数据并合并到列表中
        jsonList.push({
          ...JSON.parse(data),
          fileName: file
        });
      }
    }
    // 将合并后的列表写入 list.json
    fs.writeFileSync(outputFilePath, JSON.stringify(jsonList, null, 2));
    console.log('JSON files merged successfully into list.json');
  } catch (error) {
    console.error('Error merging JSON files:', error);
  }
}

// 执行合并操作
mergeJsonFiles().then(t => {
  console.log('执行完成');
});
